package com.gewu.pm.ui.activity.filter;

import android.content.Context;
import android.content.Intent;

import com.gewu.pm.ui.activity.filter.base.BaseFilterActivity;
import com.gewu.pm.ui.activity.filter.config.FilterConfig;
import com.gewu.pm.ui.activity.filter.config.SelectorType;

import java.util.Arrays;

/**
 * 筛选-收款单
 * 
 * 功能：
 * - 销售区域筛选
 * - 提交时间筛选（预设时间段）
 * - 日期范围筛选（开始时间-结束时间）
 * - 经办人筛选
 * - 收款方式筛选（多选标签）
 * - 收款金额范围筛选
 * - 提交人筛选
 * - 单据类型筛选（单选标签）
 * - 付款类型筛选（单选标签）
 * 
 * @author AI Assistant
 * @since 1.0
 */
public final class FilterPaymentActivity extends BaseFilterActivity {
    
    public static void start(Context context) {
        Intent intent = new Intent(context, FilterPaymentActivity.class);
        context.startActivity(intent);
    }
    
    @Override
    protected FilterConfig getFilterConfig() {
        return new FilterConfig.Builder()
                // 销售区域
                .addTextSelector("sales_area", "销售区域", "请选择销售区域", SelectorType.SALES_REGION,true)
                
                // 提交时间（预设时间段）
                .addTimeSelector("submit_time", "提交时间", 3)
                
                // 日期范围（开始时间-结束时间）
                .addDateRangeSelector("date_range", "开始时间")
                
                // 经办人
                .addTextSelector("handler", "经办人", "请选择经办人", SelectorType.HANDLER,true)
                
                // 收款方式（多选标签）
                .addMultiTagSelector("payment_method", "收款方式", 
                    Arrays.asList("微信", "支付宝", "电汇", "线包余额"), 4)
                
                // 收款金额范围
                .addAmountRangeSelector("amount", "收款金额")
                
                // 提交人
                .addTextSelector("submitter", "提交人", "请选择提交人", SelectorType.SUBMITTER,true)
                
                // 单据类型（单选标签）
                .addTagSelector("document_type", "单据类型", 
                    Arrays.asList("收款", "退款"), 2)
                
                // 付款类型（单选标签）
                .addTagSelector("payment_type", "付款类型", 
                    Arrays.asList("全部", "终端付款", "代支付"), 3)
                
                .build();
    }
}
